package com.springboot.study.producer;
import com.springboot.study.config.SimpleQueueConfig;// 导入自定义的队列配置类 SimpleQueueConfig，用于获取队列名称
import com.springboot.study.config.WorkQueueConfig;
import org.springframework.amqp.rabbit.core.RabbitTemplate;// 导入 Spring 提供的 RabbitTemplate 类，用于向 RabbitMQ 发送消息
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;// 导入 Spring 注解 @Component，用于将该类注册为 Spring Bean
import org.springframework.web.bind.annotation.*;

/*
* 生产者（WorkProducer）
* 说明：
* RabbitTemplate：Spring AMQP 提供的消息发送工具类。
* 循环 for (int i = 1; i <= 10; i++)：批量生成 10 条任务消息。
* convertAndSend(queue, message)：将消息直接发送到指定队列。
* */
@RestController
@RequestMapping("/work")
public class WorkProducer {

    @Autowired
    private RabbitTemplate rabbitTemplate;

    @GetMapping("/send")
    public String sendWork(@RequestParam String task) {
        for (int i = 1; i <= 10; i++) {
            String message = task + " - 任务" + i;
            rabbitTemplate.convertAndSend(WorkQueueConfig.WORK_QUEUE, message);
        }
        return "批量任务发送完成";
    }
}
